package com.bailiban.aigou.admin.dao;

import java.util.List;

import com.bailiban.aigou.admin.entity.Product;
import com.bailiban.aigou.admin.utils.PageModel;

public interface ProductDao {
	/**
	 * 查询分页数据
	 * @param pageNo
	 * @param pageSize
	 * @return
	 * @
	 */
	PageModel<Product> getProductPages(int pageNo, int pageSize);
	
	/**
	 * 获得总条数
	 * @return
	 * @
	 */
	int getProductCount();
	
	/**
	 * 添加商品
	 * @param product
	 * @
	 */
	void addProduct(Product product);
	
	/**
	 * 根据id获取商品
	 * @param id
	 * @return
	 * @
	 */
	Product getProductById(String id);
	
	/**
	 * 修改商品
	 * @param product
	 * @
	 */
	void updateProduct(Product product);
	
	/**
	 * 根据id删除商品
	 * @param id
	 * @
	 */
	void deleteProductById(String id);
	
	/**
	 * 查询所有商品
	 * @return
	 * @
	 */
	List<Product> getAllProducts();
	
	/**
	 * 获取最新产品
	 * @param num 返回的条数
	 * @return
	 * @
	 */
	List<Product> getNewProducts(int num);
	
	/**
	 * 根据参数返回指定结果集
	 * @param product
	 * @param num
	 * @return
	 * @
	 */
	List<Product> getProductsByType(Product product, int num);
	
	/**
	 * 获取商品销量排行榜
	 * @return
	 * @
	 */
	List<Product> getProductRankings();
}
